LEVEL_VERSION(1)
SET_GENERATE_SPEED(400)
START_MONEY(PLAYER0,22500)
START_MONEY(PLAYER1,522500)
START_MONEY(PLAYER2,522500)
START_MONEY(PLAYER3,522500)
MAX_CREATURES(PLAYER0,20)
MAX_CREATURES(PLAYER1,30)
MAX_CREATURES(PLAYER2,30)
MAX_CREATURES(PLAYER3,30)

COMPUTER_PLAYER(PLAYER1,0)
COMPUTER_PLAYER(PLAYER2,0)
COMPUTER_PLAYER(PLAYER3,0)

ALLY_PLAYERS(PLAYER1,PLAYER2,3)
ALLY_PLAYERS(PLAYER2,PLAYER1,3)
ALLY_PLAYERS(PLAYER2,PLAYER3,3)
ALLY_PLAYERS(PLAYER3,PLAYER2,3)
ALLY_PLAYERS(PLAYER1,PLAYER3,3)
ALLY_PLAYERS(PLAYER3,PLAYER1,3)
SET_GAME_RULE(AlliesShareDrop,1)
SET_GAME_RULE(AlliesShareVision,1)
SET_CREATURE_PROPERTY(IMP,NO_CORPSE_ROTTING,0)
SET_GAME_RULE(ImpWorkExperience,300)

QUICK_OBJECTIVE(1,"Welcome to this Realm, first you should takeover the leftover Dungeon from the Previous Keeper that failed his Mission to Conquer this Realm.")


IF_CONTROLS(PLAYER1,IMP < 15)
  NEXT_COMMAND_REUSABLE
  MAGIC_AVAILABLE(PLAYER1,POWER_IMP,1,1)
ENDIF

IF_CONTROLS(PLAYER1,IMP >= 15)
  NEXT_COMMAND_REUSABLE
  MAGIC_AVAILABLE(PLAYER1,POWER_IMP,0,0)
ENDIF

IF_CONTROLS(PLAYER2,IMP < 15)
  NEXT_COMMAND_REUSABLE
  MAGIC_AVAILABLE(PLAYER2,POWER_IMP,1,1)
ENDIF

IF_CONTROLS(PLAYER2,IMP >= 15)
  NEXT_COMMAND_REUSABLE
  MAGIC_AVAILABLE(PLAYER2,POWER_IMP,0,0)
ENDIF

IF_CONTROLS(PLAYER3,IMP < 15)
  NEXT_COMMAND_REUSABLE
  MAGIC_AVAILABLE(PLAYER3,POWER_IMP,1,1)
ENDIF

IF_CONTROLS(PLAYER3,IMP >= 15)
  NEXT_COMMAND_REUSABLE
  MAGIC_AVAILABLE(PLAYER3,POWER_IMP,0,0)
ENDIF


ADD_CREATURE_TO_POOL(BUG,40)
ADD_CREATURE_TO_POOL(TROLL,40)
ADD_CREATURE_TO_POOL(SPIDER,40)
ADD_CREATURE_TO_POOL(SORCEROR,40)
ADD_CREATURE_TO_POOL(ORC,40)
ADD_CREATURE_TO_POOL(BILE_DEMON,40)
ADD_CREATURE_TO_POOL(DRAGON,40)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,40)

CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)

ROOM_AVAILABLE(PLAYER0,TREASURE,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER1,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER2,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER3,TRAINING,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,0)


TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)

DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)

CREATE_PARTY(fight1)
	ADD_TO_PARTY(fight1,ARCHER,5,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight1,ARCHER,5,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight1,BARBARIAN,5,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight1,BARBARIAN,5,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight1,THIEF,5,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight1,THIEF,5,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight1,WIZARD,5,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight1,WIZARD,5,250,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(fight2)
	ADD_TO_PARTY(fight2,WITCH,7,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight2,WITCH,7,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight2,SAMURAI,7,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight2,SAMURAI,7,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight2,TIME_MAGE,7,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight2,TIME_MAGE,7,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight2,DWARFA,7,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight2,DWARFA,7,250,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(fight3)
	ADD_TO_PARTY(fight3,WITCH,9,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight3,WITCH,9,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight3,SAMURAI,9,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight3,SAMURAI,9,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight3,TIME_MAGE,9,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight3,TIME_MAGE,9,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight3,BARBARIAN,9,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(fight3,BARBARIAN,9,250,ATTACK_DUNGEON_HEART,0)


CREATE_PARTY(Heartdefense)
	ADD_TO_PARTY(Heartdefense,KNIGHT,10,250,DEFEND_HEART,0)
	ADD_TO_PARTY(Heartdefense,BARBARIAN,8,250,DEFEND_HEART,0)
	ADD_TO_PARTY(Heartdefense,BARBARIAN,8,250,DEFEND_HEART,0)
	ADD_TO_PARTY(Heartdefense,ARCHER,8,250,DEFEND_HEART,0)
	ADD_TO_PARTY(Heartdefense,ARCHER,8,250,DEFEND_HEART,0)
	ADD_TO_PARTY(Heartdefense,FAIRY,8,250,DEFEND_HEART,0)
	ADD_TO_PARTY(Heartdefense,FAIRY,8,250,DEFEND_HEART,0)
	ADD_TO_PARTY(Heartdefense,MONK,8,250,DEFEND_HEART,0)
	ADD_TO_PARTY(Heartdefense,MONK,8,250,DEFEND_HEART,0)
	ADD_TO_PARTY(Heartdefense,WIZARD,8,250,DEFEND_HEART,0)
	ADD_TO_PARTY(Heartdefense,WIZARD,8,250,DEFEND_HEART,0)





















IF(PLAYER_GOOD,DUNGEON_DESTROYED == 0)
	IF_ACTION_POINT(7,PLAYER0)
	QUICK_INFORMATION(2,"Seems a bit Early to be around here.Maybe you should try the other Direction first.")
	ENDIF
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
	IF_ACTION_POINT(7,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,fight1,7,1)
	ENDIF
ENDIF


IF_ACTION_POINT(8,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,fight2,8,1)
ENDIF

IF_ACTION_POINT(9,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,fight3,9,1)
	QUICK_OBJECTIVE(3,"Now that you got rid of those pesky Heroes, it is Time to further Conquer this Realm by Slaying those 3 Allied Keepers.Be Careful and make sure to have a good Plan on how you will Approach them!")
ENDIF

IF_ACTION_POINT(4,PLAYER0)
	QUICK_INFORMATION(4,"You are near this Realms Herofortress.Its filled with Treasure but also with some Guards so watchout before you run in Blindly")
ENDIF

IF_ACTION_POINT(1,PLAYER0)
	QUICK_INFORMATION(5,"This is the Way to those Heroes Gems, they fear your Pressence and sent some Troops in a try to fend you of!")
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,fight1,4,1)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
	QUICK_INFORMATION(6,"You found it! The Way to this Fortress' Heart now go on and take it over!")
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,fight2,3,1)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Heartdefense,6,1)
ENDIF



IF(PLAYER0,TRAINING >= 1)
	ROOM_AVAILABLE(PLAYER0,TRAINING,1,1)
ENDIF

IF(PLAYER0,TEMPLE >= 1)
	ROOM_AVAILABLE(PLAYER0,TEMPLE,1,1)
ENDIF


IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
	WIN_GAME
ENDIF
